A storage device in which forwarding-function-equipped memory nodes are mutually connected is conceivable as a storage device in which a capacity can easily be expanded. Each memory node performs given processing such as read and write in the case that the memory node receives a data packet addressed thereto. On the other hand, in the case that the memory node receives the data packet that is not addressed thereto, the memory node properly forwards the received data packet to another memory node. Each memory node properly performs the forwarding, which allows the data packet to reach the destination memory node.
Each memory node includes a memory, a controller equipped with the forwarding function, and ports. Each memory node maintains and manages a routing table indicating a forwarding destination of the packet, and forwards the packet according to the routing table. When the routing table is managed, any logical packet forwarding network can be constructed irrespective of the physical position of each memory node.
However, in the case that a new memory node is added in order to expand the capacity, or in the case that the existing memory node is removed due to a malfunction and the like, it is necessary to update the routing table of each memory node, and a procedure to update the routing table becomes troublesome. In the case that the number of memory nodes is significantly increased, a huge amount of computing cost is necessary to maintain and manage the routing table, which sets a restriction to expandability of the capacity.
In the storage device in which the forwarding-function-equipped memory nodes are mutually connected, when a plurality of pieces of data are written or read to/from the memory nodes, generally it is difficult to simultaneously conduct communication of the data through the same line, which easily generates forwarding waiting of the data. The forwarding waiting of the data leads to increase a time necessary to write and read the data.